package com.buptcoder.wifimap.provider;

import com.buptcoder.wifimap.Utils.Constants;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;

public class WifiMapDatabaseHelper extends SQLiteOpenHelper {

    /** The name of blacklist **/
    private static final String DATABASE_NAME = "wifimap.db";

    /** The version of blacklist database */
    private static final int DATABASE_VERSION = 1;

    public interface Tables {
        public static final String APINFO = "ap_info";
    }

    public interface ApInfoColumns {
        public static final String _ID = Constants._ID;
        public static final String SSID = Constants.SSID;
        public static final String LAT = Constants.LAT;
        public static final String LON = Constants.LON;
        public static final String UPDATE = Constants.UPDATE;
        public static final String TYPE = Constants.TYPE;
    }

    public WifiMapDatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_APPINFO_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + Tables.APINFO + ";");
        onCreate(db);
    }

    /** the sql statement of creating blacklist table */
    private static final String CREATE_APPINFO_TABLE = "CREATE TABLE "
            + Tables.APINFO + " (" + ApInfoColumns._ID
            + " INTEGER PRIMARY KEY AUTOINCREMENT, " + ApInfoColumns.SSID
            + " TEXT NOT NULL, " + ApInfoColumns.LAT + " DOUBLE NOT NULL, "
            + ApInfoColumns.LON + " DOUBLE NOT NULL, " + ApInfoColumns.TYPE
            + " INTEGER NOT NULL, " + ApInfoColumns.UPDATE + " LONG NOT NULL"
            + ");";
}
